package com.controlador;

import java.util.List;
import java.util.Vector;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Service;

import com.dao.MarcaDAO;
import com.modelo.Categoria_Elemento;
import com.modelo.Marca;

@Service("marcaService")
public class MarcaController {
	private @Autowired MarcaDAO marcaDao;
	List<Marca> marcas = null;
//	ClassPathXmlApplicationContext ctx;
	
	List<Categoria_Elemento>categorias;
	public MarcaController(){
//		ctx = cargarContexto();
	}
	
//	private ClassPathXmlApplicationContext cargarContexto(){
//		System.out.println("MarcaController cargarConexto()");
//		ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//		return ctx;
//	}
	
	public List<Marca> mostrarMarca(){
		System.out.println("MarcaController mostrarMarca()");
//		MarcaDAO marcaDao = ctx.getBean("marcaDao", MarcaDAO.class);
		marcas = marcaDao.mostrar();
		return marcas;
	}
	
	public Marca buscarMarcaElemento(int id){
		return marcaDao.buscarMarca(id);
	}
	public Marca buscarMarcaPorElemento(int idEl){
		return marcaDao.buscarMarcaElemento(idEl);
	}
	
	public boolean actualizar(Marca marca){
		if( marcaDao.actualizar(marca) != null){
			return  true;
		}else{
			return false;
		}
	}
	
	public boolean insertar(Marca marca){
		if( marcaDao.insertar(marca) > 0){
			return true;
		}else{
			return false;
		}
	}
	
	public boolean eliminar(int id){
		return marcaDao.eliminar(id);
	}
	
	public int verificarElementosPorMarca(int id){
		return marcaDao.numeroElementosPorMarca(id);
		
	}
	
	public boolean eliminarElementoPorMarca(int id){
		return marcaDao.eliminarElementosPorMarca(id);
	}
	
	public Marca buscarMarcaParaModelo(int idModelo){
		return marcaDao.buscarMarcaParaModelo(idModelo);
	}
	
}
